Facilitation of container management for internet of things devices for 5g or other next generation network

ABSTRACT

A lightweight machine-to-machine (LWM2M) protocol can be utilized as a management layer for other applications pertaining to communication and retrieval of information from hardware peripherals. The applications can be managed via a client and the applications can communicate to the client via a standard proxy or message broker. Consequently, sensor codes can be decoupled from the client codes, thus allowing them to both be independent interchangeable components of a specific device&#39;s architecture. Therefore, sensors can be added, removed, and/or manipulated without modifying the underlying management layer.

RELATED APPLICATION

The subject patent application is a continuation of, and claims priorityto, U.S. patent application Ser. No. 16/823,687, filed Mar. 19, 2020,and entitled “FACILITATION OF CONTAINER MANAGEMENT FOR INTERNET OFTHINGS DEVICES FOR 5G OR OTHER NEXT GENERATION NETWORK,” the entirety ofwhich priority application is hereby incorporated by reference herein.

TECHNICAL FIELD

This disclosure relates generally to facilitating container managementfor internet of things (IoT) devices. For example, this disclosurerelates to facilitating container management for IoT devices withlightweight machine to machine communication for a 5G, or other nextgeneration network, air interface.

BACKGROUND

5th generation (5G) wireless systems represent a next major phase ofmobile telecommunications standards beyond the currenttelecommunications standards of 4^(th) generation (4G). Rather thanfaster peak Internet connection speeds, 5G planning aims at highercapacity than current 4G, allowing a higher number of mobile broadbandusers per area unit, and allowing consumption of higher or unlimiteddata quantities. This would enable a large portion of the population tostream high-definition media many hours per day with their mobiledevices, when out of reach of wireless fidelity hotspots. 5G researchand development also aims at improved support of machine-to-machinecommunication, also known as the Internet of things, aiming at lowercost, lower battery consumption, and lower latency than 4G equipment.

The above-described background relating to facilitating containermanagement for IoT devices is merely intended to provide a contextualoverview of some current issues, and is not intended to be exhaustive.Other contextual information may become further apparent upon review ofthe following detailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

Non-limiting and non-exhaustive embodiments of the subject disclosureare described with reference to the following figures, wherein likereference numerals refer to like parts throughout the various viewsunless otherwise specified.

FIG. 1 illustrates an example wireless communication system in which anetwork node device (e.g., network node) and user equipment (UE) canimplement various aspects and embodiments of the subject disclosure.

FIG. 2 illustrates an example schematic system block diagram of an IoTdevice according to one or more embodiments.

FIG. 3 illustrates an example schematic system block diagram of an IoTdevice updating system according to one or more embodiments.

FIG. 4 illustrates an example schematic system block diagram of an IoTdevice updating system according to one or more embodiments.

FIG. 5 illustrates an example schematic system block diagram of an IoTdevice updating system according to one or more embodiments.

FIG. 6 illustrates an example flow diagram of a method for facilitatingcontainer management for IoT devices for a 5G network according to oneor more embodiments.

FIG. 7 illustrates an example flow diagram of a system for facilitatingcontainer management for IoT devices for a 5G network according to oneor more embodiments.

FIG. 8 illustrates an example flow diagram of a machine-readable mediumfor facilitating container management for IoT devices for a 5G networkaccording to one or more embodiments.

FIG. 9 illustrates an example block diagram of an example mobile handsetoperable to engage in a system architecture that facilitates securewireless communication according to one or more embodiments describedherein.

FIG. 10 illustrates an example block diagram of an example computeroperable to engage in a system architecture that facilitates securewireless communication according to one or more embodiments describedherein.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth toprovide a thorough understanding of various embodiments. One skilled inthe relevant art will recognize, however, that the techniques describedherein can be practiced without one or more of the specific details, orwith other methods, components, materials, etc. In other instances,well-known structures, materials, or operations are not shown ordescribed in detail to avoid obscuring certain aspects.

Reference throughout this specification to “one embodiment,” or “anembodiment,” means that a particular feature, structure, orcharacteristic described in connection with the embodiment is includedin at least one embodiment. Thus, the appearances of the phrase “in oneembodiment,” “in one aspect,” or “in an embodiment,” in various placesthroughout this specification are not necessarily all referring to thesame embodiment. Furthermore, the particular features, structures, orcharacteristics may be combined in any suitable manner in one or moreembodiments.

As utilized herein, terms “component,” “system,” “interface,” and thelike are intended to refer to a computer-related entity, hardware,software (e.g., in execution), and/or firmware. For example, a componentcan be a processor, a process running on a processor, an object, anexecutable, a program, a storage device, and/or a computer. By way ofillustration, an application running on a server and the server can be acomponent. One or more components can reside within a process, and acomponent can be localized on one computer and/or distributed betweentwo or more computers.

Further, these components can execute from various machine-readablemedia having various data structures stored thereon. The components cancommunicate via local and/or remote processes such as in accordance witha signal having one or more data packets (e.g., data from one componentinteracting with another component in a local system, distributedsystem, and/or across a network, e.g., the Internet, a local areanetwork, a wide area network, etc. with other systems via the signal).

As another example, a component can be an apparatus with specificfunctionality provided by mechanical parts operated by electric orelectronic circuitry; the electric or electronic circuitry can beoperated by a software application or a firmware application executed byone or more processors; the one or more processors can be internal orexternal to the apparatus and can execute at least a part of thesoftware or firmware application. As yet another example, a componentcan be an apparatus that provides specific functionality throughelectronic components without mechanical parts; the electroniccomponents can include one or more processors therein to executesoftware and/or firmware that confer(s), at least in part, thefunctionality of the electronic components. In an aspect, a componentcan emulate an electronic component via a virtual machine, e.g., withina cloud computing system.

The words “exemplary” and/or “demonstrative” are used herein to meanserving as an example, instance, or illustration. For the avoidance ofdoubt, the subject matter disclosed herein is not limited by suchexamples. In addition, any aspect or design described herein as“exemplary” and/or “demonstrative” is not necessarily to be construed aspreferred or advantageous over other aspects or designs, nor is it meantto preclude equivalent exemplary structures and techniques known tothose of ordinary skill in the art. Furthermore, to the extent that theterms “includes,” “has,” “contains,” and other similar words are used ineither the detailed description or the claims, such terms are intendedto be inclusive—in a manner similar to the term “comprising” as an opentransition word—without precluding any additional or other elements.

As used herein, the term “infer” or “inference” refers generally to theprocess of reasoning about, or inferring states of, the system,environment, user, and/or intent from a set of observations as capturedvia events and/or data. Captured data and events can include user data,device data, environment data, data from sensors, sensor data,application data, implicit data, explicit data, etc. Inference can beemployed to identify a specific context or action, or can generate aprobability distribution over states of interest based on aconsideration of data and events, for example.

Inference can also refer to techniques employed for composinghigher-level events from a set of events and/or data. Such inferenceresults in the construction of new events or actions from a set ofobserved events and/or stored event data, whether the events arecorrelated in close temporal proximity, and whether the events and datacome from one or several event and data sources. Various classificationschemes and/or systems (e.g., support vector machines, neural networks,expert systems, Bayesian belief networks, fuzzy logic, and data fusionengines) can be employed in connection with performing automatic and/orinferred action in connection with the disclosed subject matter.

In addition, the disclosed subject matter can be implemented as amethod, apparatus, or article of manufacture using standard programmingand/or engineering techniques to produce software, firmware, hardware,or any combination thereof to control a computer to implement thedisclosed subject matter. The term “article of manufacture” as usedherein is intended to encompass a computer program accessible from anycomputer-readable device, machine-readable device, computer-readablecarrier, computer-readable media, or machine-readable media. Forexample, computer-readable media can include, but are not limited to, amagnetic storage device, e.g., hard disk; floppy disk; magneticstrip(s); an optical disk (e.g., compact disk (CD), a digital video disc(DVD), a Blu-ray Disc™ (BD)); a smart card; a flash memory device (e.g.,card, stick, key drive); and/or a virtual device that emulates a storagedevice and/or any of the above computer-readable media.

As an overview, various embodiments are described herein to facilitatecontainer management for IoT devices for a 5G air interface or othernext generation networks. For simplicity of explanation, the methods (oralgorithms) are depicted and described as a series of acts. It is to beunderstood and appreciated that the various embodiments are not limitedby the acts illustrated and/or by the order of acts. For example, actscan occur in various orders and/or concurrently, and with other acts notpresented or described herein. Furthermore, not all illustrated acts maybe required to implement the methods. In addition, the methods couldalternatively be represented as a series of interrelated states via astate diagram or events. Additionally, the methods described hereafterare capable of being stored on an article of manufacture (e.g., amachine-readable storage medium) to facilitate transporting andtransferring such methodologies to computers. The term article ofmanufacture, as used herein, is intended to encompass a computer programaccessible from any computer-readable device, carrier, or media,including a non-transitory machine-readable storage medium.

It should be noted that although various aspects and embodiments havebeen described herein in the context of 5G, Universal MobileTelecommunications System (UMTS), and/or Long Term Evolution (LTE), orother next generation networks, the disclosed aspects are not limited to5G, a UMTS implementation, and/or an LTE implementation as thetechniques can also be applied in 3G, 4G or LTE systems. For example,aspects or features of the disclosed embodiments can be exploited insubstantially any wireless communication technology. Such wirelesscommunication technologies can include UMTS, Code Division MultipleAccess (CDMA), Wi-Fi, Worldwide Interoperability for Microwave Access(WiMAX), General Packet Radio Service (GPRS), Enhanced GPRS, ThirdGeneration Partnership Project (3GPP), LTE, Third Generation PartnershipProject 2 (3GPP2) Ultra Mobile Broadband (UMB), High Speed Packet Access(HSPA), Evolved High Speed Packet Access (HSPA+), High-Speed DownlinkPacket Access (HSDPA), High-Speed Uplink Packet Access (HSUPA), Zigbee,or another IEEE 802.12 technology. Additionally, substantially allaspects disclosed herein can be exploited in legacy telecommunicationtechnologies.

Described herein are systems, methods, articles of manufacture, andother embodiments or implementations that can facilitate containermanagement for IoT devices for a 5G network. Facilitating containermanagement for IoT devices for a 5G network can be implemented inconnection with any type of device with a connection to thecommunications network (e.g., a mobile handset, a computer, a handhelddevice, etc.) any Internet of things (TOT) device (e.g., toaster, coffeemaker, blinds, music players, speakers, etc.), and/or any connectedvehicles (cars, airplanes, space rockets, and/or other at leastpartially automated vehicles (e.g., drones)). In some embodiments thenon-limiting term user equipment (UE) is used. It can refer to any typeof wireless device that communicates with a radio network node in acellular or mobile communication system. Examples of UE are targetdevice, device to device (D2D) UE, machine type UE or UE capable ofmachine to machine (M2M) communication, PDA, Tablet, mobile terminals,smart phone, laptop embedded equipped (LEE), laptop mounted equipment(LME), USB dongles etc. Note that the terms element, elements andantenna ports can be interchangeably used but carry the same meaning inthis disclosure. The embodiments are applicable to single carrier aswell as to multicarrier (MC) or carrier aggregation (CA) operation ofthe UE. The term carrier aggregation (CA) is also called (e.g.,interchangeably called) “multi-carrier system”, “multi-cell operation”,“multi-carrier operation”, “multi-carrier” transmission and/orreception.

In some embodiments the non-limiting term radio network node or simplynetwork node is used. It can refer to any type of network node thatserves UE is connected to other network nodes or network elements or anyradio node from where UE receives a signal. Examples of radio networknodes are Node B, base station (BS), multi-standard radio (MSR) nodesuch as MSR BS, eNode B, network controller, radio network controller(RNC), base station controller (BSC), relay, donor node controllingrelay, base transceiver station (BTS), access point (AP), transmissionpoints, transmission nodes, RRU, RRH, nodes in distributed antennasystem (DAS) etc.

Cloud radio access networks (RAN) can enable the implementation ofconcepts such as software-defined network (SDN) and network functionvirtualization (NFV) in 5G networks. This disclosure can facilitate ageneric channel state information framework design for a 5G network.Certain embodiments of this disclosure can comprise an SDN controllerthat can control routing of traffic within the network and between thenetwork and traffic destinations. The SDN controller can be merged withthe 5G network architecture to enable service deliveries via openapplication programming interfaces (“APIs”) and move the network coretowards an all internet protocol (“IP”), cloud based, and softwaredriven telecommunications network. The SDN controller can work with, ortake the place of policy and charging rules function (“PCRF”) networkelements so that policies such as quality of service and trafficmanagement and routing can be synchronized and managed end to end.

To meet the huge demand for data centric applications, 4G standards canbe applied 5G, also called new radio (NR) access. 5G networks cancomprise the following: data rates of several tens of megabits persecond supported for tens of thousands of users; 1 gigabit per secondcan be offered simultaneously to tens of workers on the same officefloor; several hundreds of thousands of simultaneous connections can besupported for massive sensor deployments; spectral efficiency can beenhanced compared to 4G; improved coverage; enhanced signalingefficiency; and reduced latency compared to LTE. In multicarrier systemsuch as OFDM, each subcarrier can occupy bandwidth (e.g., subcarrierspacing). If the carriers use the same bandwidth spacing, then it can beconsidered a single numerology. However, if the carriers occupydifferent bandwidth and/or spacing, then it can be considered a multiplenumerology.

Sensors can be added, removed and/or manipulated without changing anunderlying management layer. When IoT devices need a change to a sensoror need added functionality, the IoT devices typically have to receiveupdates over the air, which can be a heavy function and can fail.Currently, there are methodologies that involve firmware upgrades, butthese methods require manipulations by the manufacturer, and thecustomer of the device has to understand the device for the update to bedelivered.

This disclosure proposes using an LWM2M protocol as the management layerfor other applications pertaining to the communication and retrieval ofinformation from hardware peripherals. The applications can be managedvia the hardware client and the applications can communicate to thehardware client via a standard proxy or message broker. This decouplesthe sensor code from the client code allowing them to both beindependent interchangeable components of a specific device'sarchitecture. The applications can also be developed and maintained bydevelopers outside of the manufacturer to increase flexibility.

Thus, IoT devices can become more generic and developers can focus moreon developing for particular sensors or use cases and focus less on theoverall management of the device. These products can be built usingexisting LWM2M servers. The LWM2M client can also, by default, giveaccess to the general purpose input/output (GPIO) peripherals (e.g.,Wi-Fi, Bluetooth, GPS, accelerometer, radio information, etc.) and/orany information relating to the state of the operating system (freememory, free storage, etc.). The interface to the default hardwareperipherals can be done through the standard objects in the LWM2Mtechnical specification and any internet protocol for smart objects(IPSO) that correspond to hardware on a user equipment (UE). It shouldbe noted that various UEs can be used based on the disclosed system. Forexample, a connected cooler radio (CCR), it one type of UE and thedisclosed aspects herein shall not be limited to the CCR.

GPIO can be tied to individual instances of a digital input object. Oneapproach to managing whether the GPIO is setup to be an input pin or anoutput pin can be tied to the actual presence of the object. Forexample, if the digital input object is created and the instanceidentification (ID) of the object is 20, then pin 20 on a CCR can beconfigured to be a digital input pin and the resources within thedigital input object can describe the configuration of the pin. Thisidea can be applied to the module pin numbers to make the clientportable to other device builds.

To manage resetting the pin, deinitialization of the pins can beconducting at the deletion of the controlling object. For example, ifthe digital input object has been created and the user of the device nowneeds the pin to be setup as a digital output, the digital input objectcorresponding to the targeted pin can be deleted, resulting in thedeinitialization of the pin. Once the pin is freed, then the digitaloutput pin can be created and the pin can assume the role of an outputpin.

The Wi-Fi on the CCR can be managed via a wireless local area network(WLAN) object ID 12 and the LWM2M application can maintain the typicalfunctionality of the Wi-Fi peripheral (e.g., access point mode, stationmode, bridge mode, etc.). The behavior of the object can describe thecurrent state of the peripheral and be available to change that statevia communication with the server. For example, the resources within theobject can dictate whether the radio is enabled or disabled. However, inthe general case, the application can maintain control of theperipheral.

The presence of the object can dictate whether the Wi-Fi peripheral iscontrolled by the LWM2M application. The object can by default beavailable and control the configuration, but upon deletion of theobject, the LWM2M application can relinquish control in order to allowanother application control of the peripheral. If another applicationhas control of the peripheral and the object is created, the LWM2Mapplication can take precedence over any other application and regaincontrol of the Wi-Fi peripheral.

Because the Bluetooth peripheral may not have a corresponding LWM2Mobject in the standard, a custom object can be used to maintainconsistency with the management of the devices using LWM2M. The customobject can follow the same pattern of peripheral release at the time ofdeletion. The custom object can also take precedence over any otherapplication if it is recreated in the client. The GPS peripheral can bydefault be controlled by the location object (ID 6) from the standardset of open mobile alliance (OMA) LWM2M objects. This object can followthe same pattern of peripheral release at the time of deletion. Theobject can also take precedence over any other application if it isrecreated in the client.

The accelerometer data can be reported via the accelerometer object (ID3313) defined by the IPSO alliance. The object can be instantiated bydefault and be available for control. This can follow the same patternof peripheral release at the time of deletion. The object can also takeprecedence over any other application if it is recreated in the client.The definitions of the objects and the way that the objects can be usedin conjunction with the hardware can follow the definitions given in theregistry. For custom objects, if there is an available resource that hasbeen defined, the preferred definition of the object can use theavailable resources and the numbering for that resource. Thismethodology can maintain definitions across multiple implementations ofthe LWM2M client.

A containerized concept of application development can be applied to theCCR in order to maintain easy management of the device via the LWM2Mwhile also allowing for developers to develop native applications. Thiscan provide maximum flexibility for development on the CCR while alsoenabling a wide range for developers. The LWM2M application can be thedefault application, and the client can communicate to drivers forobjects via a proxy layer. This layer can be a message queue (e.g., zeroMQ, etc.). This means that the LWM2M client cannot be directly accessingany peripherals and can receive the telemetry data from otherapplications managing the peripherals. The LWM2M client can maintain thestate of the default drivers in order to maximize the efficiency of whatis running.

The LWM2M server can facilitate firmware and configuration updates suchthat deployment and management of a hardware device can be performedwithout deploying an entire new build of firmware for the particularhardware device. A baseline layer of an LWM2M client can communicatewith other software components that can receive updates. Thus, adeveloper can develop their own driver for the hardware device, uploadthe driver to a LWM2M server, and manage the installation and running ofthe driver specific to the hardware device. Currently, a modification toa connected cooler radio (CCR) can require communication with thehardware manufacturer. However, this disclosure can break softwarecomponents out into individual pieces.

In another embodiment, sensors can be repurposed. For example, if thehardware device was initially used to procure temperature data, thehardware device can be repurposed and no longer need to use generalpurpose input/output (GPIO) anymore. Thus, a delete operation can beperformed on the temperature object at the server device. The deleteoperation can be communicated to the LWM2M client, the client can removethe temperature driver and/or prevent it from operating, and take backover control of the pins from the driver that the developer haddeveloped. These pins can then be repurposed for a different driver.

Drivers can be built either using prepared hardware libraries and/or newperipheral libraries built by a hardware manufacturer. In any case thedriver at run time can be given the necessary access to peripheralsavailable on the device. A fault management function can manage twodrivers requesting access to the same peripheral. Debugging logs can bemade available in the development context. A mechanism for loggingissues remotely could be built into the LWM2M client in addition to alocal logging mechanism.

The proxy can make use of one of device protocols in order to normalizethe communication between drivers and client. The messages that are sentbetween drivers and clients can make use of some level of serializationsuch as message structures (e.g., JSON, CBOR, etc.) in order to create adegree of order for the developer to follow so that the LWM2M client 202can decode messages from the driver using key/value pairing via maps.Object ID's and resource ID's can be used as key names in the messagessent. This can be used to create a data structure that can be easilydeciphered by the LWM2M client.

In one embodiment, described herein is a method comprising receiving, bya wireless network device comprising a processor, structure datarepresentative of a structure to be associated with a driver. The methodcan comprise receiving, by the wireless network device, driver datarepresentative of the driver to be installed at the wireless networkdevice. Additionally, the method can comprise translating, by thewireless network device, sensor data associated with the driver toconform to the structure, resulting in conformed data. Furthermore, inresponse to the translating the sensor data, the method can comprisefacilitating, by the wireless network device, transmitting the conformeddata to a server device.

According to another embodiment, a system can facilitate, receiving,from a first server device, structure data representative of a structureto be applied to sensor data associated with a driver. The system cancomprise receiving, from a second server device, driver datarepresentative of the driver to be downloaded to a hardware device.Based on the driver data, the system can comprise downloading the driverfrom the second server device. In response to the downloading thedriver, the system can comprise translating the sensor data to conformto the structure, resulting in conformed data.

According to yet another embodiment, described herein is amachine-readable storage medium that can perform the operationscomprising receiving, from a first server device, structure datarepresentative of a structure to be applied to sensor data associatedwith a driver. The machine-readable storage medium can perform theoperations comprising receiving, from a second server device, driverdata, wherein the driver data is representative of the driver to beutilized by a hardware device. Additionally, in response to thereceiving the driver data, the machine-readable storage medium canperform the operations comprising utilizing the driver to facilitate atemperature reading, resulting in temperature data. Furthermore, inresponse to the utilizing the driver, the machine-readable storagemedium can perform the operations comprising translating the temperaturedata to conform to the structure, resulting in conformed data.

These and other embodiments or implementations are described in moredetail below with reference to the drawings.

Referring now to FIG. 1, illustrated is an example wirelesscommunication system 100 in accordance with various aspects andembodiments of the subject disclosure. In one or more embodiments,system 100 can comprise one or more user equipment UEs 102. Thenon-limiting term user equipment can refer to any type of device thatcan communicate with a network node in a cellular or mobilecommunication system. A UE can have one or more antenna panels havingvertical and horizontal elements. Examples of a UE comprise a targetdevice, device to device (D2D) UE, machine type UE or UE capable ofmachine to machine (M2M) communications, personal digital assistant(PDA), tablet, mobile terminals, smart phone, laptop mounted equipment(LME), universal serial bus (USB) dongles enabled for mobilecommunications, a computer having mobile capabilities, a mobile devicesuch as cellular phone, a laptop having laptop embedded equipment (LEE,such as a mobile broadband adapter), a tablet computer having a mobilebroadband adapter, a wearable device, a virtual reality (VR) device, aheads-up display (HUD) device, a smart car, a machine-type communication(MTC) device, and the like. User equipment UE 102 can also comprise IOTdevices that communicate wirelessly.

In various embodiments, system 100 is or comprises a wirelesscommunication network serviced by one or more wireless communicationnetwork providers. In example embodiments, a UE 102 can becommunicatively coupled to the wireless communication network via anetwork node 104. The network node (e.g., network node device) cancommunicate with user equipment (UE), thus providing connectivitybetween the UE and the wider cellular network. The UE 102 can sendtransmission type recommendation data to the network node 104. Thetransmission type recommendation data can comprise a recommendation totransmit data via a closed loop MIMO mode and/or a rank-1 precoder mode.

A network node can have a cabinet and other protected enclosures, anantenna mast, and multiple antennas for performing various transmissionoperations (e.g., MIMO operations). Network nodes can serve severalcells, also called sectors, depending on the configuration and type ofantenna. In example embodiments, the UE 102 can send and/or receivecommunication data via a wireless link to the network node 104. Thedashed arrow lines from the network node 104 to the UE 102 representdownlink (DL) communications and the solid arrow lines from the UE 102to the network nodes 104 represents an uplink (UL) communication.

System 100 can further include one or more communication serviceprovider networks 106 that facilitate providing wireless communicationservices to various UEs, including UE 102, via the network node 104and/or various additional network devices (not shown) included in theone or more communication service provider networks 106. The one or morecommunication service provider networks 106 can include various types ofdisparate networks, including but not limited to: cellular networks,femto networks, picocell networks, microcell networks, internet protocol(IP) networks Wi-Fi service networks, broadband service network,enterprise networks, cloud based networks, and the like. For example, inat least one implementation, system 100 can be or include a large scalewireless communication network that spans various geographic areas.According to this implementation, the one or more communication serviceprovider networks 106 can be or include the wireless communicationnetwork and/or various additional devices and components of the wirelesscommunication network (e.g., additional network devices and cell,additional UEs, network server devices, etc.). The network node 104 canbe connected to the one or more communication service provider networks106 via one or more backhaul links 108. For example, the one or morebackhaul links 108 can comprise wired link components, such as a T1/E1phone line, a digital subscriber line (DSL) (e.g., either synchronous orasynchronous), an asymmetric DSL (ADSL), an optical fiber backbone, acoaxial cable, and the like. The one or more backhaul links 108 can alsoinclude wireless link components, such as but not limited to,line-of-sight (LOS) or non-LOS links which can include terrestrialair-interfaces or deep space links (e.g., satellite communication linksfor navigation).

Wireless communication system 100 can employ various cellular systems,technologies, and modulation modes to facilitate wireless radiocommunications between devices (e.g., the UE 102 and the network node104). While example embodiments might be described for 5G new radio (NR)systems, the embodiments can be applicable to any radio accesstechnology (RAT) or multi-RAT system where the UE operates usingmultiple carriers e.g., LTE FDD/TDD, GSM/GERAN, CDMA2000 etc.

For example, system 100 can operate in accordance with global system formobile communications (GSM), universal mobile telecommunications service(UMTS), long term evolution (LTE), LTE frequency division duplexing (LTEFDD, LTE time division duplexing (TDD), high speed packet access (HSPA),code division multiple access (CDMA), wideband CDMA (WCMDA), CDMA2000,time division multiple access (TDMA), frequency division multiple access(FDMA), multi-carrier code division multiple access (MC-CDMA),single-carrier code division multiple access (SC-CDMA), single-carrierFDMA (SC-FDMA), orthogonal frequency division multiplexing (OFDM),discrete Fourier transform spread OFDM (DFT-spread OFDM) single carrierFDMA (SC-FDMA), Filter bank based multi-carrier (FBMC), zero tailDFT-spread-OFDM (ZT DFT-s-OFDM), generalized frequency divisionmultiplexing (GFDM), fixed mobile convergence (FMC), universal fixedmobile convergence (UFMC), unique word OFDM (UW-OFDM), unique wordDFT-spread OFDM (UW DFT-Spread-OFDM), cyclic prefix OFDM CP-OFDM,resource-block-filtered OFDM, Wi Fi, WLAN, WiMax, and the like. However,various features and functionalities of system 100 are particularlydescribed wherein the devices (e.g., the UEs 102 and the network device104) of system 100 are configured to communicate wireless signals usingone or more multi carrier modulation schemes, wherein data symbols canbe transmitted simultaneously over multiple frequency subcarriers (e.g.,OFDM, CP-OFDM, DFT-spread OFMD, UFMC, FMBC, etc.). The embodiments areapplicable to single carrier as well as to multicarrier (MC) or carrieraggregation (CA) operation of the UE. The term carrier aggregation (CA)is also called (e.g., interchangeably called) “multi-carrier system”,“multi-cell operation”, “multi-carrier operation”, “multi-carrier”transmission and/or reception. Note that some embodiments are alsoapplicable for Multi RAB (radio bearers) on some carriers (that is dataplus speech is simultaneously scheduled).

In various embodiments, system 100 can be configured to provide andemploy 5G wireless networking features and functionalities. 5G wirelesscommunication networks are expected to fulfill the demand ofexponentially increasing data traffic and to allow people and machinesto enjoy gigabit data rates with virtually zero latency. Compared to 4G,5G supports more diverse traffic scenarios. For example, in addition tothe various types of data communication between conventional UEs (e.g.,phones, smartphones, tablets, PCs, televisions, Internet enabledtelevisions, etc.) supported by 4G networks, 5G networks can be employedto support data communication between smart cars in association withdriverless car environments, as well as machine type communications(MTCs). Considering the drastic different communication needs of thesedifferent traffic scenarios, the ability to dynamically configurewaveform parameters based on traffic scenarios while retaining thebenefits of multi carrier modulation schemes (e.g., OFDM and relatedschemes) can provide a significant contribution to the highspeed/capacity and low latency demands of 5G networks. With waveformsthat split the bandwidth into several sub-bands, different types ofservices can be accommodated in different sub-bands with the mostsuitable waveform and numerology, leading to an improved spectrumutilization for 5G networks.

To meet the demand for data centric applications, features of proposed5G networks may comprise: increased peak bit rate (e.g., 20 Gbps),larger data volume per unit area (e.g., high system spectralefficiency—for example about 3.5 times that of spectral efficiency oflong term evolution (LTE) systems), high capacity that allows moredevice connectivity both concurrently and instantaneously, lowerbattery/power consumption (which reduces energy and consumption costs),better connectivity regardless of the geographic region in which a useris located, a larger numbers of devices, lower infrastructuraldevelopment costs, and higher reliability of the communications. Thus,5G networks may allow for: data rates of several tens of megabits persecond should be supported for tens of thousands of users, 1 gigabit persecond to be offered simultaneously to tens of workers on the sameoffice floor, for example; several hundreds of thousands of simultaneousconnections to be supported for massive sensor deployments; improvedcoverage, enhanced signaling efficiency; reduced latency compared toLTE.

The upcoming 5G access network may utilize higher frequencies (e.g., >6GHz) to aid in increasing capacity. Currently, much of the millimeterwave (mmWave) spectrum, the band of spectrum between 30 gigahertz (GHz)and 300 GHz is underutilized. The millimeter waves have shorterwavelengths that range from 10 millimeters to 1 millimeter, and thesemmWave signals experience severe path loss, penetration loss, andfading. However, the shorter wavelength at mmWave frequencies alsoallows more antennas to be packed in the same physical dimension, whichallows for large-scale spatial multiplexing and highly directionalbeamforming.

Performance can be improved if both the transmitter and the receiver areequipped with multiple antennas. Multi-antenna techniques cansignificantly increase the data rates and reliability of a wirelesscommunication system. The use of multiple input multiple output (MIMO)techniques, which was introduced in the third-generation partnershipproject (3GPP) and has been in use (including with LTE), is amulti-antenna technique that can improve the spectral efficiency oftransmissions, thereby significantly boosting the overall data carryingcapacity of wireless systems. The use of multiple-input multiple-output(MIMO) techniques can improve mmWave communications, and has been widelyrecognized a potentially important component for access networksoperating in higher frequencies. MIMO can be used for achievingdiversity gain, spatial multiplexing gain and beamforming gain. Forthese reasons, MIMO systems are an important part of the 3rd and 4thgeneration wireless systems, and are planned for use in 5G systems.

Referring now to FIG. 2, illustrated is an example schematic systemblock diagram of an internet of things device according to one or moreembodiments. Currently, the drivers for various sensors are a part ofthe LWM2M client. Therefore, when a user would like to switch from onesensor to another sensor, the entire LWM2M client 202 (entirety of thefirmware) must be updated. Given the LwM2M client is the controllingelement in the proposed software architecture carrier certification willtypically encompass the client. If the client has to be rebuilt andchanged the carrier certification for the UE must be completed again. Inthe proposal since the LwM2M client is not rebuilt to change the sensordrivers and provides an abstraction to connectivity and hardwaremanagement, carrier certification does not necessarily have to berevised when installing software application.

However, as depicted in FIG. 2, the drivers 208A, 208B, 208C of thehardware device 200 can be separate from the LWM2M client 202 but cancommunicate with the LWM2M client via a proxy 206 (e.g., message queue(MQ) proxy). The driver layer can receive new drivers from asensor/driver registry that can be maintained by a service provider ordelivered by the developer. This can be as simple as a secure filetransfer protocol (sFTP) download or a rest protocol blockwise transferfrom a service provider device management server. The delivery andmaintenance of the drivers available on the hardware device 200 can bemanaged by a custom LWM2M object.

Referring now to FIG. 3, illustrated is an example schematic systemblock diagram of an internet of things device updating system accordingto one or more embodiments.

In another embodiment, a sensor driver registry 306 can store drivers tobe placed into a device management platform 304, from where the hardwaredevice 200 can download the drivers. This allows communication to aparticular sensor such that the entire LWM2M client 202 does not have tobe updated, and the LWM2M client 202 can manage the process in relationto a server associated with the device management platform 304 and/orthe device registry 306.

The object registry 302 can comprise structures of particular objects.For example, temperature can be object 204A, and under the object therecan be resources describing the object 204A (e.g., actual temperaturevalue, unit =Celsius/Fahrenheit, max/min value, etc.) Thus, the objectregistry 302, can provide a structure for the LWM2M client 202 to beable to create a storage point for the resource values on the fly. Theobject 204A can represent storage of a value of a physical readingprovided by the driver 208A. The communication between the object 204Aand the object registry 302 can be managed by the LWM2M client 202.Consequently, the LWM2M client 202 may not have the functionality ofwhat it takes to physically read a temperature sensor (which can beperformed at the driver 208A), yet the LWM2M client 202 can facilitatepassing the sensor data back to the object registry 302 and/or thedevice management platform 304. The MQ proxy 206 can translate databetween the driver 208A driver and the object 204A of the LWM2M client202. Thus, developers can update the drivers from the driver registry306 and/or update the objects from the object registry 302.

For example, a developer can build an application for the hardwaredevice 200 that can communicate via the MQ proxy 206 to the LWM2M client202 and place the application in the sensor/driver registry 306 fordelivery to the driver layer of the hardware device 200. The developercan then use the device management platform 304 to deliver theapplication to the hardware device LWM2M client 202. The developer canalso tell the hardware device 200 where to download the sensor/driverfrom, which could be done via the delivery of a URL to the hardwaredevice 200. Upon initiating the install of the sensor, the LWM2M client202 can go to the object registry 302 to pull the object definition.Given the delivery of the definition, the LWM2M client 202 can createthe objects with their proper mechanisms and begin to listen on thetopic for the data coming from the driver.

Referring now to FIG. 4 and FIG. 5, illustrated is an example schematicsystem block diagram of an internet of things device updating systemaccording to one or more embodiments. Within this platform, sensors canbe repurposed. For example, hardware devices that were used to procuretemperature data can be repurposed and no longer need to use generalpurpose input/output sensors (GPIO) anymore. Thus, as depicted in FIG.4, a delete operation can be performed on the temperature object 204A atthe object registry 302, which can then be sent to the LWM2M client 202to delete the temperature object 204A on the LWM2M client 202accordingly. Once the delete operation is communicated to the LWM2Mclient 202, the LWM2M client can remove the temperature driver 208Aand/or prevent the temperature driver 208A from operating. Thus, theobject registry 302 can take back over control of the pins from thetemperature driver 208A that the developer has developed andinstantiated on the hardware device 200 via the sensor driver registry306. As depicted in FIG. 5, these pins can then be repurposed for adifferent driver 208D (e.g., a Wi-Fi driver) associated with a differentobject 204D (e.g., Wi-Fi object). It should be understood that variousobjects and drivers (e.g., Bluetooth, global positioning system,accelerometer, etc.) can be utilized for purposes of the disclosure andthat the objects and drivers should not be limited to temperature andWi-Fi objects and drivers.

Referring now to FIG. 6, illustrated is an example flow diagram of amethod for facilitating container management for IoT devices for a 5Gnetwork according to one or more embodiments. At element 600, the methodcomprising receiving structure data representative of a structure to beassociated with a driver. At element 602, the method can comprisereceiving driver data representative of the driver to be installed atthe wireless network device. Additionally, at element 604, the methodcan comprise translating sensor data associated with the driver toconform to the structure, resulting in conformed data. Furthermore, inresponse to the translating the sensor data, the method can comprisefacilitating transmitting the conformed data to a server device atelement 606.

Referring now to FIG. 7, illustrated is an example flow diagram of asystem for facilitating container management for IoT devices for a 5Gnetwork according to one or more embodiments. At element 700, the systemcan facilitate, receiving, from a first server device, structure datarepresentative of a structure to be applied to sensor data associatedwith a driver. At element 702, the system can comprise receiving, from asecond server device, driver data representative of the driver to bedownloaded to a hardware device. Based on the driver data, at element704, the system can comprise downloading the driver from the secondserver device. In response to the downloading the driver, at element706, the system can comprise translating the sensor data to conform tothe structure, resulting in conformed data.

Referring now to FIG. 8, illustrated is an example flow diagram of amachine-readable medium for facilitating container management for IoTdevices for a 5G network according to one or more embodiments. Atelement 800, the machine-readable storage medium that can perform theoperations comprising receiving, from a first server device, structuredata representative of a structure to be applied to sensor dataassociated with a driver. At element 802, the machine-readable storagemedium can perform the operations comprising receiving, from a secondserver device, driver data, wherein the driver data is representative ofthe driver to be utilized by a hardware device. Additionally, at element804, in response to the receiving the driver data, the machine-readablestorage medium can perform the operations comprising utilizing thedriver to facilitate a temperature reading, resulting in temperaturedata. Furthermore, in response to the utilizing the driver, at element806, the machine-readable storage medium can perform the operationscomprising translating the temperature data to conform to the structure,resulting in conformed data.

Referring now to FIG. 9, illustrated is a schematic block diagram of anexemplary end-user device such as a mobile device capable of connectingto a network in accordance with some embodiments described herein.Although a mobile handset 900 is illustrated herein, it will beunderstood that other devices can be a mobile device, and that themobile handset 900 is merely illustrated to provide context for theembodiments of the various embodiments described herein. The followingdiscussion is intended to provide a brief, general description of anexample of a suitable environment 900 in which the various embodimentscan be implemented. While the description includes a general context ofcomputer-executable instructions embodied on a machine-readable storagemedium, those skilled in the art will recognize that the innovation alsocan be implemented in combination with other program modules and/or as acombination of hardware and software.

Generally, applications (e.g., program modules) can include routines,programs, components, data structures, etc., that perform particulartasks or implement particular abstract data types. Moreover, thoseskilled in the art will appreciate that the methods described herein canbe practiced with other system configurations, includingsingle-processor or multiprocessor systems, minicomputers, mainframecomputers, as well as personal computers, hand-held computing devices,microprocessor-based or programmable consumer electronics, and the like,each of which can be operatively coupled to one or more associateddevices.

A computing device can typically include a variety of machine-readablemedia. Machine-readable media can be any available media that can beaccessed by the computer and includes both volatile and non-volatilemedia, removable and non-removable media. By way of example and notlimitation, computer-readable media can comprise computer storage mediaand communication media. Computer storage media can include volatileand/or non-volatile media, removable and/or non-removable mediaimplemented in any method or technology for storage of information, suchas computer-readable instructions, data structures, program modules orother data. Computer storage media can include, but is not limited to,RAM, ROM, EEPROM, flash memory or other memory technology, CD ROM,digital video disk (DVD) or other optical disk storage, magneticcassettes, magnetic tape, magnetic disk storage or other magneticstorage devices, or any other medium which can be used to store thedesired information and which can be accessed by the computer.

Communication media typically embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism, and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of the anyof the above should also be included within the scope ofcomputer-readable media.

The handset 900 includes a processor 902 for controlling and processingall onboard operations and functions. A memory 904 interfaces to theprocessor 902 for storage of data and one or more applications 906(e.g., a video player software, user feedback component software, etc.).Other applications can include voice recognition of predetermined voicecommands that facilitate initiation of the user feedback signals. Theapplications 906 can be stored in the memory 904 and/or in a firmware908, and executed by the processor 902 from either or both the memory904 or/and the firmware 908. The firmware 908 can also store startupcode for execution in initializing the handset 900. A communicationscomponent 910 interfaces to the processor 902 to facilitatewired/wireless communication with external systems, e.g., cellularnetworks, VoIP networks, and so on. Here, the communications component910 can also include a suitable cellular transceiver 911 (e.g., a GSMtransceiver) and/or an unlicensed transceiver 913 (e.g., Wi-Fi, WiMax)for corresponding signal communications. The handset 900 can be a devicesuch as a cellular telephone, a PDA with mobile communicationscapabilities, and messaging-centric devices. The communicationscomponent 910 also facilitates communications reception from terrestrialradio networks (e.g., broadcast), digital satellite radio networks, andInternet-based radio services networks.

The handset 900 includes a display 912 for displaying text, images,video, telephony functions (e.g., a Caller ID function), setupfunctions, and for user input. For example, the display 912 can also bereferred to as a “screen” that can accommodate the presentation ofmultimedia content (e.g., music metadata, messages, wallpaper, graphics,etc.). The display 912 can also display videos and can facilitate thegeneration, editing and sharing of video quotes. A serial I/O interface914 is provided in communication with the processor 902 to facilitatewired and/or wireless serial communications (e.g., USB, and/or IEEE1394) through a hardwire connection, and other serial input devices(e.g., a keyboard, keypad, and mouse). This supports updating andtroubleshooting the handset 900, for example. Audio capabilities areprovided with an audio I/O component 916, which can include a speakerfor the output of audio signals related to, for example, indication thatthe user pressed the proper key or key combination to initiate the userfeedback signal. The audio I/O component 916 also facilitates the inputof audio signals through a microphone to record data and/or telephonyvoice data, and for inputting voice signals for telephone conversations.

The handset 900 can include a slot interface 918 for accommodating a SIC(Subscriber Identity Component) in the form factor of a card SubscriberIdentity Module (SIM) or universal SIM 920, and interfacing the SIM card920 with the processor 902. However, it is to be appreciated that theSIM card 920 can be manufactured into the handset 900, and updated bydownloading data and software.

The handset 900 can process IP data traffic through the communicationcomponent 910 to accommodate IP traffic from an IP network such as, forexample, the Internet, a corporate intranet, a home network, a personarea network, etc., through an ISP or broadband cable provider. Thus,VoIP traffic can be utilized by the handset 900 and IP-based multimediacontent can be received in either an encoded or decoded format.

A video processing component 922 (e.g., a camera) can be provided fordecoding encoded multimedia content. The video processing component 922can aid in facilitating the generation, editing and sharing of videoquotes. The handset 900 also includes a power source 924 in the form ofbatteries and/or an AC power subsystem, which power source 924 caninterface to an external power system or charging equipment (not shown)by a power I/O component 926.

The handset 900 can also include a video component 930 for processingvideo content received and, for recording and transmitting videocontent. For example, the video component 930 can facilitate thegeneration, editing and sharing of video quotes. A location trackingcomponent 932 facilitates geographically locating the handset 900. Asdescribed hereinabove, this can occur when the user initiates thefeedback signal automatically or manually. A user input component 934facilitates the user initiating the quality feedback signal. The userinput component 934 can also facilitate the generation, editing andsharing of video quotes. The user input component 934 can include suchconventional input device technologies such as a keypad, keyboard,mouse, stylus pen, and/or touch screen, for example.

Referring again to the applications 906, a hysteresis component 936facilitates the analysis and processing of hysteresis data, which isutilized to determine when to associate with the access point. Asoftware trigger component 938 can be provided that facilitatestriggering of the hysteresis component 938 when the Wi-Fi transceiver913 detects the beacon of the access point. A SIP client 940 enables thehandset 900 to support SIP protocols and register the subscriber withthe SIP registrar server. The applications 906 can also include a client942 that provides at least the capability of discovery, play and storeof multimedia content, for example, music.

The handset 900, as indicated above related to the communicationscomponent 910, includes an indoor network radio transceiver 913 (e.g.,Wi-Fi transceiver). This function supports the indoor radio link, suchas IEEE 802.11, for the dual-mode GSM handset 900. The handset 900 canaccommodate at least satellite radio services through a handset that cancombine wireless voice and digital radio chipsets into a single handhelddevice.

In order to provide additional context for various embodiments describedherein, FIG. 10 and the following discussion are intended to provide abrief, general description of a suitable computing environment 1000 inwhich the various embodiments of the embodiment described herein can beimplemented. While the embodiments have been described above in thegeneral context of computer-executable instructions that can run on oneor more computers, those skilled in the art will recognize that theembodiments can be also implemented in combination with other programmodules and/or as a combination of hardware and software.

Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types. Moreover, those skilled in the art will appreciatethat the disclosed methods can be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, minicomputers, mainframe computers, Internet of Things (IoT)devices, distributed computing systems, as well as personal computers,hand-held computing devices, microprocessor-based or programmableconsumer electronics, and the like, each of which can be operativelycoupled to one or more associated devices.

The illustrated embodiments of the embodiments herein can be alsopracticed in distributed computing environments where certain tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules can be located in both local and remote memory storage devices.

Computing devices typically include a variety of media, which caninclude computer-readable storage media, machine-readable storage media,and/or communications media, which two terms are used herein differentlyfrom one another as follows. Computer-readable storage media ormachine-readable storage media can be any available storage media thatcan be accessed by the computer and includes both volatile andnonvolatile media, removable and non-removable media. By way of example,and not limitation, computer-readable storage media or machine-readablestorage media can be implemented in connection with any method ortechnology for storage of information such as computer-readable ormachine-readable instructions, program modules, structured data orunstructured data.

Computer-readable storage media can include, but are not limited to,random access memory (RAM), read only memory (ROM), electricallyerasable programmable read only memory (EEPROM), flash memory or othermemory technology, compact disk read only memory (CD-ROM), digitalversatile disk (DVD), Blu-ray disc (BD) or other optical disk storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, solid state drives or other solid statestorage devices, or other tangible and/or non-transitory media which canbe used to store desired information. In this regard, the terms“tangible” or “non-transitory” herein as applied to storage, memory orcomputer-readable media, are to be understood to exclude onlypropagating transitory signals per se as modifiers and do not relinquishrights to all standard storage, memory or computer-readable media thatare not only propagating transitory signals per se.

Computer-readable storage media can be accessed by one or more local orremote computing devices, e.g., via access requests, queries or otherdata retrieval protocols, for a variety of operations with respect tothe information stored by the medium.

Communications media typically embody computer-readable instructions,data structures, program modules or other structured or unstructureddata in a data signal such as a modulated data signal, e.g., a carrierwave or other transport mechanism, and includes any information deliveryor transport media. The term “modulated data signal” or signals refersto a signal that has one or more of its characteristics set or changedin such a manner as to encode information in one or more signals. By wayof example, and not limitation, communication media include wired media,such as a wired network or direct-wired connection, and wireless mediasuch as acoustic, RF, infrared and other wireless media.

With reference again to FIG. 10, the example environment 1000 forimplementing various embodiments of the aspects described hereinincludes a computer 1002, the computer 1002 including a processing unit1004, a system memory 1006 and a system bus 1008. The system bus 1008couples system components including, but not limited to, the systemmemory 1006 to the processing unit 1004. The processing unit 1004 can beany of various commercially available processors. Dual microprocessorsand other multi-processor architectures can also be employed as theprocessing unit 1004.

The system bus 1008 can be any of several types of bus structure thatcan further interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and a local bus using any of a variety ofcommercially available bus architectures. The system memory 1006includes ROM 1010 and RAM 1012. A basic input/output system (BIOS) canbe stored in a non-volatile memory such as ROM, erasable programmableread only memory (EPROM), EEPROM, which BIOS contains the basic routinesthat help to transfer information between elements within the computer1002, such as during startup. The RAM 1012 can also include a high-speedRAM such as static RAM for caching data.

The computer 1002 further includes an internal hard disk drive (HDD)1014 (e.g., EIDE, SATA), one or more external storage devices 1016(e.g., a magnetic floppy disk drive (FDD) 1016, a memory stick or flashdrive reader, a memory card reader, etc.) and an optical disk drive 1020(e.g., which can read or write from a CD-ROM disc, a DVD, a BD, etc.).While the internal HDD 1014 is illustrated as located within thecomputer 1002, the internal HDD 1014 can also be configured for externaluse in a suitable chassis (not shown). Additionally, while not shown inenvironment 1000, a solid state drive (SSD) could be used in additionto, or in place of, an HDD 1014. The HDD 1014, external storagedevice(s) 1016 and optical disk drive 1020 can be connected to thesystem bus 1008 by an HDD interface 1024, an external storage interface1026 and an optical drive interface 1028, respectively. The interface1024 for external drive implementations can include at least one or bothof Universal Serial Bus (USB) and Institute of Electrical andElectronics Engineers (IEEE) 1394 interface technologies. Other externaldrive connection technologies are within contemplation of theembodiments described herein.

The drives and their associated computer-readable storage media providenonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For the computer 1002, the drives andstorage media accommodate the storage of any data in a suitable digitalformat. Although the description of computer-readable storage mediaabove refers to respective types of storage devices, it should beappreciated by those skilled in the art that other types of storagemedia which are readable by a computer, whether presently existing ordeveloped in the future, could also be used in the example operatingenvironment, and further, that any such storage media can containcomputer-executable instructions for performing the methods describedherein.

A number of program modules can be stored in the drives and RAM 1012,including an operating system 1030, one or more application programs1032, other program modules 1034 and program data 1036. All or portionsof the operating system, applications, modules, and/or data can also becached in the RAM 1012. The systems and methods described herein can beimplemented utilizing various commercially available operating systemsor combinations of operating systems.

Computer 1002 can optionally comprise emulation technologies. Forexample, a hypervisor (not shown) or other intermediary can emulate ahardware environment for operating system 1030, and the emulatedhardware can optionally be different from the hardware illustrated inFIG. 10. In such an embodiment, operating system 1030 can comprise onevirtual machine (VM) of multiple VMs hosted at computer 1002.Furthermore, operating system 1030 can provide runtime environments,such as the Java runtime environment or the .NET framework, forapplications 1032. Runtime environments are consistent executionenvironments that allow applications 1032 to run on any operating systemthat includes the runtime environment. Similarly, operating system 1030can support containers, and applications 1032 can be in the form ofcontainers, which are lightweight, standalone, executable packages ofsoftware that include, e.g., code, runtime, system tools, systemlibraries and settings for an application.

Further, computer 1002 can be enable with a security module, such as atrusted processing module (TPM). For instance, with a TPM, bootcomponents hash next in time boot components, and wait for a match ofresults to secured values, before loading a next boot component. Thisprocess can take place at any layer in the code execution stack ofcomputer 1002, e.g., applied at the application execution level or atthe operating system (OS) kernel level, thereby enabling security at anylevel of code execution.

A user can enter commands and information into the computer 1002 throughone or more wired/wireless input devices, e.g., a keyboard 1038, a touchscreen 1040, and a pointing device, such as a mouse 1042. Other inputdevices (not shown) can include a microphone, an infrared (IR) remotecontrol, a radio frequency (RF) remote control, or other remote control,a joystick, a virtual reality controller and/or virtual reality headset,a game pad, a stylus pen, an image input device, e.g., camera(s), agesture sensor input device, a vision movement sensor input device, anemotion or facial detection device, a biometric input device, e.g.,fingerprint or iris scanner, or the like. These and other input devicesare often connected to the processing unit 1004 through an input deviceinterface 1044 that can be coupled to the system bus 1008, but can beconnected by other interfaces, such as a parallel port, an IEEE 1394serial port, a game port, a USB port, an IR interface, a BLUETOOTH®interface, etc.

A monitor 1046 or other type of display device can be also connected tothe system bus 1008 via an interface, such as a video adapter 1048. Inaddition to the monitor 1046, a computer typically includes otherperipheral output devices (not shown), such as speakers, printers, etc.

The computer 1002 can operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, such as a remote computer(s) 1050. The remotecomputer(s) 1050 can be a workstation, a server computer, a router, apersonal computer, portable computer, microprocessor-based entertainmentappliance, a peer device or other common network node, and typicallyincludes many or all of the elements described relative to the computer1002, although, for purposes of brevity, only a memory/storage device1052 is illustrated. The logical connections depicted includewired/wireless connectivity to a local area network (LAN) 1054 and/orlarger networks, e.g., a wide area network (WAN) 1056. Such LAN and WANnetworking environments are commonplace in offices and companies, andfacilitate enterprise-wide computer networks, such as intranets, all ofwhich can connect to a global communications network, e.g., theInternet.

When used in a LAN networking environment, the computer 1002 can beconnected to the local network 1054 through a wired and/or wirelesscommunication network interface or adapter 1058. The adapter 1058 canfacilitate wired or wireless communication to the LAN 1054, which canalso include a wireless access point (AP) disposed thereon forcommunicating with the adapter 1058 in a wireless mode.

When used in a WAN networking environment, the computer 1002 can includea modem 1060 or can be connected to a communications server on the WAN1056 via other means for establishing communications over the WAN 1056,such as by way of the Internet. The modem 1060, which can be internal orexternal and a wired or wireless device, can be connected to the systembus 1008 via the input device interface 1044. In a networkedenvironment, program modules depicted relative to the computer 1002 orportions thereof, can be stored in the remote memory/storage device1052. It will be appreciated that the network connections shown areexample and other means of establishing a communications link betweenthe computers can be used.

When used in either a LAN or WAN networking environment, the computer1002 can access cloud storage systems or other network-based storagesystems in addition to, or in place of, external storage devices 1016 asdescribed above. Generally, a connection between the computer 1002 and acloud storage system can be established over a LAN 1054 or WAN 1056e.g., by the adapter 1058 or modem 1060, respectively. Upon connectingthe computer 1002 to an associated cloud storage system, the externalstorage interface 1026 can, with the aid of the adapter 1058 and/ormodem 1060, manage storage provided by the cloud storage system as itwould other types of external storage. For instance, the externalstorage interface 1026 can be configured to provide access to cloudstorage sources as if those sources were physically connected to thecomputer 1002.

The computer 1002 can be operable to communicate with any wirelessdevices or entities operatively disposed in wireless communication,e.g., a printer, scanner, desktop and/or portable computer, portabledata assistant, communications satellite, any piece of equipment orlocation associated with a wirelessly detectable tag (e.g., a kiosk,news stand, store shelf, etc.), and telephone. This can include WirelessFidelity (Wi-Fi) and BLUETOOTH® wireless technologies. Thus, thecommunication can be a predefined structure as with a conventionalnetwork or simply an ad hoc communication between at least two devices.

The computer is operable to communicate with any wireless devices orentities operatively disposed in wireless communication, e.g., aprinter, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, any piece of equipment or locationassociated with a wirelessly detectable tag (e.g., a kiosk, news stand,restroom), and telephone. This includes at least Wi-Fi and Bluetooth™wireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

Wi-Fi, or Wireless Fidelity, allows connection to the Internet from acouch at home, a bed in a hotel room, or a conference room at work,without wires. Wi-Fi is a wireless technology similar to that used in acell phone that enables such devices, e.g., computers, to send andreceive data indoors and out; anywhere within the range of a basestation. Wi-Fi networks use radio technologies called IEEE 802.11 (a, b,g, etc.) to provide secure, reliable, fast wireless connectivity. AWi-Fi network can be used to connect computers to each other, to theInternet, and to wired networks (which use IEEE 802.3 or Ethernet).Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands, atan 11 Mbps (802.11a) or 54 Mbps (802.11b) data rate, for example, orwith products that contain both bands (dual band), so the networks canprovide real-world performance similar to the basic 10BaseT wiredEthernet networks used in many offices.

The above description of illustrated embodiments of the subjectdisclosure, including what is described in the Abstract, is not intendedto be exhaustive or to limit the disclosed embodiments to the preciseforms disclosed. While specific embodiments and examples are describedherein for illustrative purposes, various modifications are possiblethat are considered within the scope of such embodiments and examples,as those skilled in the relevant art can recognize.

In this regard, while the subject matter has been described herein inconnection with various embodiments and corresponding FIGs, whereapplicable, it is to be understood that other similar embodiments can beused or modifications and additions can be made to the describedembodiments for performing the same, similar, alternative, or substitutefunction of the disclosed subject matter without deviating therefrom.Therefore, the disclosed subject matter should not be limited to anysingle embodiment described herein, but rather should be construed inbreadth and scope in accordance with the appended claims below.

What is claimed is:
 1. A method, comprising: determining, by networkequipment comprising a processor, that an object installed at thenetwork equipment is being deleted; and in response to determining thatthe object being deleted is associated with a driver installed at anInternet-of-things device, preventing, by the network equipment, thedriver installed at the Internet-of-things device from controlling ahardware pin of the Internet-of-things device, wherein the hardware pinis associated with a sensor interface of the Internet-of-things device.2. The method of claim 1, wherein the object is a first object and thedriver is a first driver, and further comprising: in response todetermining that a second object is installed at the network equipmentand the second object is associated with a second driver installed atthe Internet-of-things device, enabling, by the network equipment, thesecond driver to control the hardware pin of the Internet-of-thingsdevice.
 3. The method of claim 2, wherein the first driver is associatedwith a first sensor that interfaces with the sensor interface of theInternet-of-things device, and the second driver is associated with asecond sensor that interfaces with the sensor interface of theInternet-of-things device.
 4. The method of claim 3, wherein the firstsensor is a different sensor type from the second sensor.
 5. The methodof claim 2, wherein the first driver employs the hardware pin as aninput pin, and the second driver employs the hardware pin as an outputpin.
 6. The method of claim 2, wherein the first driver employs thehardware pin as an output pin, and the second driver employs thehardware pin as an input pin.
 7. The method of claim 1, furthercomprising, in response to determining that the object being deleted isassociated with the driver installed at the Internet-of-things device,instructing, by the network equipment, the Internet-of-things device todelete the driver from the Internet-of-things device.
 8. Networkequipment, comprising: a processor; and a memory that stores executableinstructions that, when executed by the processor, facilitateperformance of operations, comprising: determining that an objectpreviously installed at the network equipment has been deleted; and inresponse to determining that the object that has been deleted isassociated with a driver installed at an Internet-of-things device,preventing the driver installed at the Internet-of-things device fromcontrol of a hardware pin of the Internet-of-things device, wherein thehardware pin is associated with a peripheral interface of theInternet-of-things device.
 9. The network equipment of claim 8, whereinthe object is a first object and the driver is a first driver, andwherein the operations further comprise, in response to determining thata second object is installed at the network equipment and the secondobject is associated with a second driver installed at theInternet-of-things device, configuring the second driver to control thehardware pin of the Internet-of-things device.
 10. The network equipmentof claim 9, wherein the first driver is associated with a firstperipheral that interfaces with the peripheral interface of theInternet-of-things device, and the second driver is associated with asecond peripheral that interfaces with the peripheral interface of theInternet-of-things device.
 11. The network equipment of claim 10,wherein the first peripheral is a different peripheral type from thesecond peripheral.
 12. The network equipment of claim 9, wherein thefirst driver employs the hardware pin as an input pin, and the seconddriver employs the hardware pin as an output pin.
 13. The networkequipment of claim 9, wherein the first driver employs the hardware pinas an output pin, and the second driver employs the hardware pin as aninput pin.
 14. The network equipment of claim 8, wherein the operationsfurther comprises, in response to determining that the object beingdeleted is associated with the driver installed at theInternet-of-things device, instructing the Internet-of-things device touninstall the driver from the Internet-of-things device.
 15. Anon-transitory machine-readable medium, comprising executableinstructions that, when executed by a processor of network equipment,facilitate performance of operations, comprising: determining that anobject installed at the network equipment has been deleted; and inresponse to determining that the object that has been deleted isassociated with a driver installed at an Internet-of-things device,preventing the driver installed at the Internet-of-things device fromcontrolling of a group of hardware pins of the Internet-of-thingsdevice, wherein the group of hardware pins are associated with ahardware interface of the Internet-of-things device.
 16. Thenon-transitory machine-readable medium of claim 15, wherein the objectis a first object and the driver is a first driver, and wherein theoperations further comprise, in response to determining that a secondobject is installed at the network equipment and the second object isassociated with a second driver installed at the Internet-of-thingsdevice, configuring the second driver to control the group of hardwarepins of the Internet-of-things device.
 17. The non-transitorymachine-readable medium of claim 16, wherein the first driver isassociated with a first hardware device that interfaces with thehardware interface of the Internet-of-things device, and the seconddriver is associated with a second hardware device that interfaces withthe hardware interface of the Internet-of-things device.
 18. Thenon-transitory machine-readable medium of claim 17, wherein the firsthardware device is a different hardware device type from the secondhardware device.
 19. The non-transitory machine-readable medium of claim16, wherein the configuring the second driver to control the group ofhardware pins comprises are least one of: configuring a first inputhardware pin of the group of hardware pins into a first output hardwarepin, or configuring a second output hardware pin of the group ofhardware pins into a second input hardware pin.
 20. The networkequipment of claim 15, wherein the operations further comprises, inresponse to determining that the object being deleted is associated withthe driver installed at the Internet-of-things device, instructing theInternet-of-things device to uninstall the driver from theInternet-of-things device.